const express = require("express");

/*
  登录
    用户进行登录：发送请求，请求登录，服务器返回cookie
    浏览器接受到cookie会自动保存起来，下次发送会自动携带上cookie
    服务器通过解析cookie就能识别该请求是哪个用户，从而返回用户数据
*/

const app = express();

// 设置后端路由 -> 当前端发送请求 get http://localhost:3000/login 触发路由回调函数，由回调函数处理请求
app.get("/login", (req, res) => {
  /*
    request 包含请求报文的内容
      req.query   获取查询字符串参数
      req.params  获取params参数
      req.body    获取请求体参数（需要借助中间件解析 -> express.json / express.urlencoded）
      req.headers 获取请求头
      req.cookies 获取cookie（需要借助中间件解析 cookie-parser）
      req.url
      req.method

    response 设置响应报文的内容
      res.setHeader(key, value) 设置响应头
      res.status() 设置响应状态码
      res.send()    
      res.json() 返回响应（默认响应状态码200），返回数据格式 application/json
      res.end()
  */

  // 设置cookie
  res.setHeader("set-cookie", "userId=1111;max-age=3600;httpOnly=true;");

  // 获取cookie
  // console.log(req.headers.cookie); // userId=1111

  res.json({
    code: 200,
    message: "",
    data: null,
    ok: true,
  });
});

app.listen(3000, "localhost", (err) => {
  if (err) console.log(err);
  else console.log("服务器启动成功");
});
